xxxxxxxxxx# PRL paper: https://journals-aps-org.libaccess.sjlibrary.org/prl/pdf/10.1103/PhysRevLett.126.213601xxxxxxxxxx# Supplemental Material: https://journals-aps-org.libaccess.sjlibrary.org/prl/supplemental/10.1103/PhysRevLett.126.213601/SiVcompare_SM8edits2.pdfxxxxxxxxxx# article of nice plots: https://towardsdatascience.com/how-to-create-and-use-custom-matplotlib-style-sheet-9393f498063import numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltimport numbaimport scipy.integrate as spintimport cmath# plt.style.use('seaborn-pastel')mpl.rcParams['font.family'] = 'sans-serif'COLOR = 'w'mpl.rcParams['text.color'] = COLORmpl.rcParams['axes.labelcolor'] = COLORmpl.rcParams['xtick.color'] = COLORmpl.rcParams['ytick.color'] = COLORmpl.rcParams['axes.edgecolor'] = 'k'SIZE = 8mpl.rcParams['font.size'] = SIZEmpl.rcParams['legend.fontsize'] = SIZEmpl.rcParams['figure.titlesize'] = SIZEmpl.rcParams['figure.dpi'] = 300mpl.rcParams['savefig.dpi'] = 800βres = 200xxxxxxxxxx# rcParams parameters https://matplotlib.org/stable/users/dflt_style_changes.htmlxxxxxxxxxx# $ \gamma_{10} = \frac{1}{2} \left( \Gamma_{10} + \Gamma_{12} \right) + \gamma_c \, \, \, \, \, \, \text{with} \, \, \, \, \, \, \gamma_c \gg \frac{1}{2} \left( \Gamma_{10} + \Gamma_{12} \right) \tag{s7}$xxxxxxxxxxhbar = 1.mu = 1.N = 1.omega12 = 1.omega10_unstrained = 2. * np.piβsigma = 0.2 * omega10_unstrainedgamma10 = 0.05 * sigmaGamma10 = gamma10 * 1E-5βDelta_gs = 0.25Delta_es = 2.5xxxxxxxxxx# @numba.jitdef colorbar(mappable, label='arb. units'): from mpl_toolkits.axes_grid1 import make_axes_locatable last_axes = plt.gca() ax = mappable.axes fig = ax.figure divider = make_axes_locatable(ax) cax = divider.append_axes("right", size="5%", pad=0.05) cbar = fig.colorbar(mappable, cax=cax) if label is not None: plt.ylabel(label) plt.sca(last_axes) return cbarxxxxxxxxxx.vectorize([numba.float64(numba.complex128),numba.float32(numba.complex64)])def abs2(x): return x.real**2 + x.imag**2xxxxxxxxxx.vectorize([numba.float64(numba.complex128),numba.float32(numba.complex64)])def phi(x): return cmath.phase(x)x
omega_t = np.linspace(0., 4.*np.pi, res)omega_tau = np.linspace(-4.*np.pi, 0., res)omega_t_mesh, omega_tau_mesh = np.meshgrid(omega_t, omega_tau, indexing='xy')plt.figure()im = plt.imshow(omega_tau_mesh, origin='lower', extent=(min(omega_t / 2. / np.pi), max(omega_t / 2. / np.pi), min(omega_tau / 2. / np.pi), max(omega_tau / 2. / np.pi)))plt.xlabel(r'$\omega_t \quad [2 \pi] $')plt.ylabel(r'$\omega_\tau \quad [2 \pi] $')plt.title(r'$\omega_\tau$ mesh')colorbar(im)plt.show()xxxxxxxxxx# @numba.jitdef slices_plots( databox, titles=None, figure_shape=[4, 4], figure_size=(11, 10), vertical_gap=0.15, horizontal_gap=0.15, shared_x_label=r'$\omega_t \quad [2 \pi] $', shared_x_label_x_position=0.515, shared_x_label_y_position=0.09, shared_y_label=r'$\omega_\tau \quad [2 \pi] $', shared_y_label_x_position=0.08, shared_y_label_y_position=0.5, shared_title=r'$\mathfrak{R} \left\{ \rho^{(3)}_{10,sig} (\omega_t, \omega_\tau) \right\}$', shared_title_x_position=0.515, shared_title_y_position=0.93, share_x_axis=True, share_y_axis=True, colorbar_labels='arb. units', EXTENT=(min(omega_t / 2. / np.pi), max(omega_t / 2. / np.pi), min(omega_tau / 2. / np.pi), max(omega_tau / 2. / np.pi)) ):β fig, ax = plt.subplots( figure_shape[0], # row figure_shape[1], # column figsize=figure_size, sharex=share_x_axis, sharey=share_y_axis, gridspec_kw={ "hspace": vertical_gap, 'wspace': horizontal_gap })β if titles is None: titles = [r'$\omega_{10} =$' f'{i / np.pi:.2f} $\pi$' for i in omega_10_vals]β for i in range(np.shape(databox)[0]): im = ax.flatten()[i].imshow( databox[i].T, origin='lower', extent=EXTENT ) ax.flatten()[i].set_title(titles[i]) if np.size(colorbar_labels)==1: if (i+1)%figure_shape[1]: colorbar(im, None) else: colorbar(im, colorbar_labels) else: colorbar(im, colorbar_labels[i])β fig.suptitle(x=shared_title_x_position, y=shared_title_y_position, t=shared_title, ha='center', size=1.5*SIZE)β if shared_x_label != None: # shared x label fig.text(x=shared_x_label_x_position, y=shared_x_label_y_position, s=shared_x_label, ha='center')β if shared_y_label != None: # shared y label fig.text(x=shared_y_label_x_position, y=shared_y_label_y_position, s=shared_y_label, va='center', rotation='vertical')β plt.show() return figxxxxxxxxxxomega_10_vals = np.linspace(0. , 4. * np.pi, 16)omega_10_3Dmesh, omega_t_3Dmesh, omega_tau_3Dmesh = np.meshgrid(omega_10_vals, omega_t, omega_tau, indexing='ij')β_ = slices_plots(omega_tau_3Dmesh, shared_title=r'$\omega_\tau$ 3D mesh')xxxxxxxxxx# $ \rho^{(3)}_{10,sig} (\omega_t, \omega_\tau) = -\frac{\mathcal{i} |\mu|^2 \mu }{8 \hbar^3} \left( \frac{i}{\omega_t - \left[ \omega_{10} - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ -\omega_{10} - i \gamma_{10} \right] } \right) \tag{s11} $xxxxxxxxxx# $ \rho^{(3)}_{10,sig} (\omega_t, \omega_\tau) = -\frac{\mathcal{i} |\mu|^2 \mu }{8 \hbar^3} \left [ \newline\phantom{+} \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\oplus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\oplus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) + \left( \frac{i}{\omega_t - \left[ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) - \mathcal{i} \gamma_{10} \right] } \right) \left( \frac{\mathcal{i}}{\omega_\tau - \left[ - \left \{ \omega_{10} \, \mathbf{\ominus} \, \left ( \Delta_{gs} \, \mathbf{\ominus} \, \Delta_{es} \right ) \right \} - i \gamma_{10} \right] } \right) \right ] $ $ \tag{Mod.s11} $ xxxxxxxxxx.jitdef rho_10_sig_3(omega_t, omega_tau, omega10):# return -1j * abs2(mu) * mu / 8. / hbar**3. * (1j / (omega_t - (omega10 - 1j*gamma10))) * (1j / (omega_tau - (-omega10 - 1j*gamma10))) return -1j * abs2(mu) * mu / 8. / hbar**3. * np.sum([ (1j / (omega_t - (omega10 + (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 + (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs - Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 + (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 + (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs - Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 + (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 + (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs - Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 + (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 + (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs - Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs - Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs + Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs - Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 + (Delta_gs - Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs + Delta_es)) - 1j*gamma10))), (1j / (omega_t - (omega10 - (Delta_gs - Delta_es) - 1j*gamma10))) * (1j / (omega_tau - (-(omega10 - (Delta_gs - Delta_es)) - 1j*gamma10))) ], 0)xxxxxxxxxxRHO_10_SIG_3 = rho_10_sig_3(omega_t_3Dmesh, omega_tau_3Dmesh, omega_10_3Dmesh)figDense = slices_plots(RHO_10_SIG_3.real)β# figDense.savefig("/Users/tommychin/Documents/research/Smallwood_research/denseMatrAtmp4.eps", # format='eps', # bbox_inches='tight')xxxxxxxxxx_ = slices_plots(RHO_10_SIG_3.imag, shared_title=r'$\mathfrak{I} \left\{ \rho^{(3)}_{10,sig} (\omega_t, \omega_\tau) \right\}$')xxxxxxxxxx# $ \rho^{(4)}_{11,sig} (\omega_t, \omega_\tau) = \frac{|\mu|^4}{16 \hbar^4} \left( \frac{i}{\omega_t - \left[ \omega_{10} - i \gamma_{10} \right] } \right) \left( \frac{i}{\omega_\tau - \left[ -\omega_{10} - i \gamma_{10} \right] } \right) \tag{s15} $xxxxxxxxxx.jitdef rho_11_sig_4(omega_t, omega_tau, omega10): return abs2(mu)**2. / 16. / hbar**4. * (1j / (omega_t - (omega10 - 1j*gamma10))) * (1j / (omega_tau - (-omega10 - 1j*gamma10)))xxxxxxxxxx## equation is written in text at the very beginning of p. 15 of the Supplementary Materialxxxxxxxxxx.jitdef R(omega10, omega12): return omega12**2.xxxxxxxxxx# $B(\omega_{10}, \omega_{12}) = \frac{\Gamma_{10}}{\Gamma_{10} \, + \, \Gamma_{12} (\omega_{10}, \, \omega_{12})} \approx \frac{\Gamma_{10}}{\Gamma_{10} \, + \, R (\omega_{10}, \, \omega_{12})} \tag{s16} $xxxxxxxxxx.jitdef B(omega10, omega12): return Gamma10 / (Gamma10 + R(omega10, omega12))xxxxxxxxxx# $ G \left (\omega_{10} - \omega_{10}^{(unstrained)} \right ) \equiv \frac{N}{\sigma \sqrt{2 \pi}} exp \left[ \frac{-\left (\omega_{10} - \omega_{10}^{(unstrained)} \right )^2}{2 \sigma^2} \right] \tag{s19} $xxxxxxxxxx# $ G \left (\omega_{10} - \omega_{10}^{(unstrained)}\right ) \equiv \frac{N}{0.5\sigma \sqrt{2 \pi}} exp \left[ \frac{- \left (\omega_{10} - 0.5\omega_{10}^{(unstrained)} \right ) ^2}{2 \left(0.5 \sigma \right)^2} \right] + \frac{N}{1.5\sigma \sqrt{2 \pi}} exp \left[ \frac{-\left (\omega_{10} - 1.5\omega_{10}^{(unstrained)} \right ) ^2}{2 (1.5\sigma)^2} \right] $ $\tag{Mod. s19}$xxxxxxxxxx.jitdef G(omega10): return N / sigma / np.sqrt(2. * np.pi) * np.exp(-(omega10 - omega10_unstrained)**2. / 2. / sigma**2.)# return np.sum([ N / 0.5 / sigma / np.sqrt(2.*np.pi) * np.exp(-(omega10 - 0.5*omega10_unstrained)**2. / 2. / (0.5*sigma)**2.), # N / 1.5 / sigma / np.sqrt(2.*np.pi) * np.exp(-(omega10 - 1.5*omega10_unstrained)**2. / 2. / (1.5*sigma)**2.)# ], 0)xxxxxxxxxxOMEGA10 = np.linspace(-4.*np.pi, 8.*np.pi, 500)plt.plot(OMEGA10, G(OMEGA10))plt.title(r'$ G \left (\omega_{10} - \omega_{10}^{(unstrained)} \right ) $')plt.xlabel(r'$ \omega_{10} $')plt.show()xxxxxxxxxx.jitdef infint(argu): return spint.quad_vec(argu, -np.inf, np.inf)xxxxxxxxxx# computing the integral using https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.quad_vec.htmlxxxxxxxxxx# $I_{tot, het}(\omega_t, \omega_\tau) \propto \tilde{E}^*_{LO} (-\omega_t) \displaystyle \int^{\infty}_{-\infty} G \left (\omega_{10} - \omega_{10}^{(unstrained)} \right ) \left [ i \mu^* \rho^{(3)}_{10,sig} (\omega_t, \omega_\tau, \omega_{10}) \right ] d \omega_{10} $ $\tag{s20}$xxxxxxxxxxargu = lambda omega10: G(omega10) * 1j * np.conj(mu) * rho_10_sig_3(omega_t_mesh, omega_tau_mesh, omega10)I_tot_het, int_err_het = infint(argu)xxxxxxxxxx# $I_{tot, PL}(\omega_t, \omega_\tau) \propto \displaystyle \int^{\infty}_{-\infty} G \left (\omega_{10} - \omega_{10}^{(unstrained)} \right ) B(\omega_{10}, \omega_{12}) \, \rho^{(4)}_{11,sig} (\omega_t, \omega_\tau, \omega_{10}) d \omega_{10} $ $\tag{s21}$xxxxxxxxxxargu = lambda omega10: G(omega10) * B(omega10, omega12) * rho_11_sig_4(omega_t_mesh, omega_tau_mesh, omega10)I_tot_PL, int_err_PL = infint(argu)argu = lambda omega10: G(omega10) * B(omega10, omega12) * rho_11_sig_4(omega_t_mesh, omega_tau_mesh, omega10) I_tot_PL, int_err_PL = infint(argu)
xxxxxxxxxx# Plotting Heterodyne detection vs. PL detection simulation resultsxxxxxxxxxxI_tot_het_ReImAm = np.array([I_tot_het.real, I_tot_het.imag, abs2(I_tot_het), phi(I_tot_het)])figHet = slices_plots(I_tot_het_ReImAm, shared_title='Heterodyne detection sim.', shared_title_y_position=0.95, figure_shape=[2,2], figure_size=[6,5.5], titles=[r'$\mathfrak{R} \left\{I_{tot, het} (\omega_t, \omega_\tau) \right\}$', r'$\mathfrak{I} \left\{I_{tot, het} (\omega_t, \omega_\tau) \right\}$', r'$ \left |I_{tot, het} (\omega_t, \omega_\tau) \right |^2$', r'$ \varphi \left (I_{tot, het} (\omega_t, \omega_\tau) \right )$'], horizontal_gap=0.06, shared_y_label_x_position=0.02, shared_x_label_y_position=0.06, EXTENT=(406.5, 407.1, -407.1, -406.5), shared_x_label=r'Third-order frequency, $\nu_t$, (THz)', shared_y_label=r'First-order frequency, $\nu_\tau$, (THz)', colorbar_labels=[None, 'arb. units', None, 'radians'])β# figHet.savefig("/Users/tommychin/Documents/research/Smallwood_research/crossPeaksAttempt4.eps", # format='eps', # bbox_inches='tight')xxxxxxxxxxfig = plt.figure()im = plt.imshow(I_tot_het.real, origin='lower', extent=(406.5, 407.1, -407.1, -406.5))plt.xlabel(r'Third-order frequency, $\nu_t$, (THz)')plt.ylabel(r'First-order frequency, $\nu_\tau$, (THz)')plt.title('Heterodyne detection sim.')colorbar(im)plt.show()# fig.savefig("/Users/tommychin/Documents/research/Smallwood_research/testVectorImage.eps", format='eps', bbox_inches='tight')fig = plt.figure() im = plt.imshow(I_tot_het.real, origin='lower', extent=(406.5, 407.1, -407.1, -406.5)) plt.xlabel(r'Third-order frequency, , (THz)') plt.ylabel(r'First-order frequency, , (THz)') plt.title('Heterodyne detection sim.') colorbar(im) plt.show()
xxxxxxxxxxI_tot_PL_ReImAm = np.array([I_tot_PL.real, I_tot_PL.imag, abs2(I_tot_PL), phi(I_tot_PL)])figPL = slices_plots(I_tot_PL_ReImAm, shared_title='PL detection sim.', shared_title_y_position=0.95, figure_shape=[2,2], figure_size=[6,5.5], titles=[r'$\mathfrak{R} \left\{I_{tot, PL} (\omega_t, \omega_\tau) \right\}$', r'$\mathfrak{I} \left\{I_{tot, PL} (\omega_t, \omega_\tau) \right\}$', r'$ \left |I_{tot, PL} (\omega_t, \omega_\tau) \right |^2$', r'$ \varphi \left (I_{tot, PL} (\omega_t, \omega_\tau) \right )$'], horizontal_gap=0.06, shared_y_label_x_position=0.04, shared_x_label_y_position=0.06)I_tot_PL_ReImAm = np.array([I_tot_PL.real, I_tot_PL.imag, abs2(I_tot_PL), phi(I_tot_PL)]) figPL = slices_plots(I_tot_PL_ReImAm, shared_title='PL detection sim.', shared_title_y_position=0.95, figure_shape=[2,2], figure_size=[6,5.5], titles=[r'', r'', r'', r''], horizontal_gap=0.06, shared_y_label_x_position=0.04, shared_x_label_y_position=0.06)